home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1997 May & June / Amiga-CD 1997 #5-6.iso / pd-disketten / dms-gepackt / 11_95 / apd-11-95-2.dms / apd-11-95-2.adf / Tips&Tricks / Kodierung.s next >
Text File  |  1995-10-09  |  1KB  |  40 lines

  1.  
  2. *****************************************************
  3. * $VER: RandomEncoding V1.0, von Ivan J. Eis © 1995 *
  4. *****************************************************
  5. * Parameter:    A0=Textzeiger    (APTR)             *
  6. *               D0=[Textlänge]-1 (UWORD)            *
  7. *               D1=Zufallswert   (UBYTE) Ungleich 0 *
  8. *****************************************************
  9.  
  10.          lea     Text(pc),a0       * Adresse nach A0
  11.          moveq   #[Ende-Text]-1,d0 * Textlänge in d0
  12.          moveq   #7,d1             * Zufallswert > d1
  13.                              * muss ungleich 0 sein.
  14.  
  15. Loop     move.b  d1,d2       * Zufallswert in d2
  16.          move.b  d1,d3       * Zufallswert in d3
  17.  
  18.          and.b   #1,d2       * Bit 0 raussuchen
  19.          and.b   #2,d3       * Bit 1 raussuchen
  20.  
  21.          lsr.b   #1,d3       * Auf gleiche Höhe brin.
  22.          eor.b   d3,d2       * unterschiedlich?
  23.          beq     SetNoBit    * Nein, dann nicht setzen
  24.  
  25.          or.b    #$80,d1     * Ja, Bit 7 setzen
  26.          add.b   d1,(a0)+    * sub.b für Decoder
  27.          lsr.b   #1,d1       * Zufallswert neu
  28.                              * berechnen
  29.          bra.b   NextChar
  30.  
  31. SetNoBit add.b   d1,(a0)+    * sub.b für Decoder
  32.          lsr.b   #1,d1       * Zufallswert neu ber.
  33.  
  34. NextChar dbf     d0,Loop     * Länge Zähler
  35.          rts                 * Programende
  36.  
  37. Text            dc.b    "Bitte decodiere diesen Text"
  38. Ende
  39.  
  40.